#ifndef VCC_H
#define VCC_H

#include <string>

#define LETTER 1
#define DIGIT 2
#define SPECIAL 3

extern std::string file_to_compile;

extern bool output_mode_quiet;
extern bool output_mode_verbose;

extern FILE* inf;
extern FILE* outf;

extern char effect;

// compiling events/effects/misc scripts
extern char scrpt;

extern char magic;

// ptr -> source file in memory.
extern char* source;
extern char chr_tablebeta[256];
extern char tokenbeta[512];

extern const int MAX_BUFFER_SIZE;
extern const std::string TEMPORARY_FILE;
extern char* LoadTextFile(std::string source_file, const int max_buffer_size = MAX_BUFFER_SIZE);
extern void RunVccCompiler();

namespace VERGE1 {

    extern void DisplayCopyright();

}

#endif
